Dual timeline

ABSTRACT

Dual timeline visualizations include a detail timescale shown along two item regions. Display objects shown in an item region may represent events, activities, or multiple stacked events and activities from a set of chronological data items. Display objects have positions and sizes representing those of the corresponding events and activities, and may include data-related or user-selected colors and/or hashing. The detail timescale, in unison with the item regions, may be scrollable and resizable in the direction of time. The item regions may be separately scrollable and resizable in another direction. A visualization may also include an overview panel representing a summary view of both sets of chronological data items, with its own timescale, and a lens showing the position of the detail timescale and item regions.

CROSS REFERENCES TO RELATED APPLICATIONS

This application claims priority from U.S. Provisional PatentApplication Ser. No. 62/017,215, entitled DUAL TIMELINE, filed on Jun.25, 2014, which is hereby incorporated by reference herein for allpurposes.

BACKGROUND

This application relates to the field of user interfaces, and inparticular to user interfaces and data visualizations for viewing eventsor other information in chronological order.

Timelines provide a way to present data in chronological order. Atypical timeline visualization includes a display area with displayobjects representing events plotted along a timescale. Prior timelinevisualizations work very well for displaying events for one entity, suchas the biography of a person. However, these prior timelinevisualizations are poorly suited for displaying and comparing two ormore different sets of chronologically-ordered data. For example, usinga prior timeline visualization to compare the biographies of twodifferent people results in a cluttered and confusing presentation inwhich it is difficult to contrast between the events in each person'slife.

Another problem of prior timeline visualizations is that they do notoffer a way to compare anything but milestones. For instance, there hasbeen no method to visualize and compare processes in which activitiesmay have a duration.

A problem of prior visualizations on small screens, such as on mobiledevices, is that displaying many subsequent activities leads to the needfor an extremely wide screen, or the loss of detail. Many concurrentactivities leads to the need for an extremely tall screen, or again theloss of detail.

A further problem is that a user may want to vary the amount of detailvisible versus the available screen space. This need has previously onlybeen met by providing zooming controls. However, zooming back and forthcan be tedious.

There is an unmet need to solve the general problems of priorvisualizations and to provide a way to present timelines suitable forprocess comparison even on a display of limited dimensions.

SUMMARY

Embodiments of the invention include a dual timeline visualization witha timescale indicator (the detail timescale) shown along first andsecond item regions. The first and second item regions show displayobjects representing first and second sets of chronological data items.In an embodiment, a display object may visually represent a time valueand a duration value of its associated chronological data item. In afurther embodiment, the first and second item regions and the detailtimescale may scroll and resize in unison in the direction aligned withthe detail timescale's time axis. In an additional embodiment, the firstand second item regions may scroll independently in directions notaligned with the detail timescale's time axis. In still a furtherembodiment, the dual timeline visualization may include an overviewpanel representing a summary view of both sets of chronological dataitems and a visual indication of the location of the first and seconditem regions with respect to the entire first and second sets ofchronological data items.

Embodiments of the invention provide a method of generating a timelinevisualization for comparing two datasets of chronologically ordereddata. The first step of the method is retrieving a first and a seconddataset from a data storage system, wherein the first dataset includesat least a first data item associated with a first time value and afirst duration value and the second dataset includes at least a seconddata item associated with a second time value.

Further steps of the method include generating a detail timescale andfirst and second item regions aligned with the detail timescale. Thedetail timescale displays time units in a first direction.

The method further includes the step of generating for display in thefirst item region a first display object, which corresponds with thefirst data item, and generating for display in the second item region asecond display object, which corresponds with the second data item.Positioning of the first and second display objects with respect to thedetail timescale is based on the first and second time values. The firstdisplay object includes a size based on the first duration value. Aduration value may be zero if a data item represents an event, andlarger than zero if it represents an activity.

The method further includes forwarding the detail timescale, itemregions and display objects to a user device that is capable ofdisplaying the timeline visualization.

Embodiments of the invention may align the detail timescalehorizontally, vertically, in depth, or in any other first direction. Theitem regions are aligned with the detail timescale in this firstdirection.

The detail timescale, and in unison with it the item regions, may bescrollable and resizable in the first direction. The item regions may bejointly or separately scrollable and resizable in a second direction.

In embodiments of the invention, a display object may include a color orhashing based on information included in its data item or data set, orthat is set by the user.

Embodiments of the invention may further comprise generating for displayan overview panel, including an overview timescale different than thedetail timescale, and generating markers to be displayed on the overviewpanel. Marker positions and sizes are based on time values and durationvalues of corresponding data items. A portion of the overview panel,corresponding with the time and duration of the detail timescale anditem regions, may be highlighted.

Further embodiments of the invention may include stacking multipleoverlapping data items in a single display object with visual indicatorsto show that it represents multiple data items, and unstacking multiplestacked data items by reducing the contrast of the displayed backgroundand overlaying it with a row, column, or array of display objectsrepresenting individual data items. The row, column, or array may bescrollable.

A further understanding of the nature and the advantages of particularembodiments disclosed herein may be realized by reference of theremaining portions of the specification and the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the drawings, inwhich:

FIG. 1 illustrates a dual timeline suitable for comparing two datasetseach having activities and milestones according to an embodiment of theinvention;

FIG. 2 illustrates a dual timeline with an overview panel according toan embodiment of the invention;

FIG. 3 illustrates stacking multiple concurrent data items in an itemregion according to an embodiment of the invention;

FIG. 4 illustrates unstacking multiple concurrent data items accordingto an embodiment of the invention;

FIG. 5 illustrates controls for scrolling and resizing the detailtimescale and for scrolling and resizing an item region according to anembodiment of the invention;

FIG. 6 illustrates a vertical view of a timeline visualization accordingto an embodiment of the invention;

FIG. 7 illustrates a method for generating a timeline visualization forcomparing two datasets of chronologically ordered data according to anembodiment of the invention; and

FIG. 8 illustrates an example system capable of displaying embodimentsof the invention.

DESCRIPTION

Timeline visualizations provide a way to present data in chronologicalorder on a display area. The data may represent any chronologicallyordered process or series of items—hereafter called data items.

A typical timeline visualization includes an item region along a(detail) timescale. The item region may include display objectsrepresenting data items—both for milestones (events with zero duration)and activities (processes with non-zero duration). Embodiments of theinvention include dual item regions along a detail timescale, to enableeasy comparison of two sets of chronological data. They may furtherinclude an overview panel with an overview timescale, and furtherinnovations to allow for comparing datasets even on a small screen.

FIG. 1 illustrates a dual timeline visualization 100 suitable forcomparing two datasets each having activities and milestones accordingto an embodiment of the invention. The visualization 100 is outlined bya component container border 110, and includes a first item region 130,a common detail timescale 120, and a second item region 140. Thisvisualization 100 is a horizontal embodiment, meaning that timeprogresses along a horizontal axis as illustrated by detail timescale120. Other embodiments may use another direction for time, such asvertical, or depth. While in this embodiment the detail timescale 120 iscommon to the item regions 130 and 140, alternative embodiments mayinclude separate and independent detail timescales for each of the itemregions, allowing for comparison of two projects that are not concurrentin time, or that may span different durations, or both. Yet otherembodiments may include more than two item regions for comparing morethan two datasets, and more than two separate and independent detailtimescales. Further embodiments may include additional types of dataitems other than those representing just activities and milestones.

In the example embodiment of the invention illustrated in FIG. 1, itemregion 130 includes display objects 131 and 133 representing activitiesand display object 132 representing a milestone. Activity 131 could, forinstance, be represented by a line or a bar. Milestone 132 could, forinstance, be represented by a dot or a diamond. Or embodiments couldrepresent any of the project items 131-133 by a more complex displayobject, which may include callouts, boxes with informative shapes, textlabels, hypertexts, icons or images, context popups, buttons, and anyother controls commonly used in graphical user interfaces. Embodimentscould visualize display objects with color coding, hashing, texture,shading, highlighting, or lowlighting to reveal underlying data iteminformation or to reflect user interaction or customization.

In this embodiment of the invention, Activity 1 is represented bydisplay object 131 that includes a hashed bar, or bar with a firstcolor, and a callout. The hashed bar is aligned along detail timescale120. The beginning of the hashed bar is aligned with the time of thestart of Activity 1 and the end of the hashed bar is aligned with thetime of the end of Activity 1. Therefore, the length of the bar isproportional with the duration of Activity 1. However, proportionalitymay get lost for very short activities, since a bar may need to bedisplayed with a minimum width, for instance a minimum number of pixels.The callout in display object 131 includes the name of the activity:Activity 1.

Further, in this embodiment of the invention, Milestone 1 is representedby display object 132 that includes a hashed diamond, or diamond withthe first color, and a callout. The diamond is aligned along detailtimescale 120. Since a milestone has zero duration, only one point, inthis case the bottom point of the diamond, is aligned with the time ofthe occurrence of Milestone 1. The callout in display object 132includes the name of the milestone: Milestone 1.

Again in the example embodiment of the invention illustrated in FIG. 1,item region 140 includes display objects representing activity 141 andmilestones 142-143. Bars and diamonds in item region 140 may have adifferent hashing than those in item region 130, or a second color.

Project items 131-133 may represent data items from a first dataset,while project items 141-143 may represent data items from a seconddataset. Although FIG. 1 shows an example visualization of two datasets,there is no limit in the number of datasets. Embodiments of theinvention could show additional datasets in additional item regions,simultaneously, or upon user interaction, replacing one or more of theitem regions previously shown. Datasets may be included in simple files,in databases, or in other arrangements of data that can be stored inmemories or computer-readable tangible media.

The difference in hashing or color coding, or both, of display objectsmay simply represent that display objects represent data items fromdifferent datasets. Or the color or hashing of a display object couldrepresent some property contained in a data item, or a customizationinitiated by the visualization user. Similarly, the background color ofan item region may be color-coded.

FIG. 2 illustrates a dual timeline visualization 200 with an overviewpanel 250 according to an embodiment of the invention. In thishorizontal visualization 200, the overview panel 250 stretches from theleft to the right. Overview panel 250 may include an implicit orexplicit overview timescale, which may be different (typically having alonger duration) than the detail timescale. Embodiments of the inventionmay highlight part 260 of overview panel 250, a “lens”, to indicatewhich part of the overview corresponds to the detail timescale durationand is shown in detail in the item regions 230 and 240. Time unit labels251 and 252 of the overview timescale, showing inside lens 260,correspond to time unit labels 221 and 222 of the detail timescale,respectively.

To save screen space, embodiments of the invention may represent dataitems in the overview panel 250 with very little detail, for instance bylimiting representations to lines and dots, or bars and diamonds. Suchdata item representations in the overview panel 250 are denoted markersin the context of this document. The overview panel 250 has no need fordetail, as long as the lens 260 can be moved along the overview panel250, and decreased or enlarged to show the right level of detail in theitem regions 230 and 240.

Although the embodiment of the invention illustrated in FIG. 2 collapsesboth (or multiple) datasets in a single overview panel 250 with a singleoverview timescale, other embodiments may visually separate differentdatasets, for instance by differently color coding the markers or theirbackground, or for instance by showing multiple parallel overview panelsand their common or separate overview timescale(s).

FIG. 3 illustrates stacking multiple concurrent data items in an itemregion 330 according to an embodiment 300 of the invention. To savescreen space, this embodiment stacks multiple fully or partiallyoverlapping data items, which could include both activities, milestones,and other types of data items, and represents those as a single displayobject 331. The embodiment provides visual coding of the display object331 to show it represents multiple data items, in this case by providingbackground shading 332. It may also provide a numerical indicator 333 toshow how many data items the display object 331 represents.

FIG. 4 illustrates unstacking multiple concurrent data items 436A-Faccording to an embodiment 400 of the invention. In response to a userinput event, such as tapping, double-tapping, clicking, right-clicking,double-clicking, the embodiment may lowlight (i.e., reduce contrast for)parts or all of the previously showing elements contained in thevisualization, and overlay those with a column, row, or array ofhighlighted display objects 436A-F representing part or all of therelevant data items. In case not all data items are represented, theembodiment could provide scroll buttons, such as vertical scroll buttons438 and 439 to allow the user to navigate to any of the data items thatare still stacked. Alternatively, an embodiment may provide other visualclues, such as stacked display objects at the top and at the bottom, orpartially shown display objects, and it could respond to user swipe ormouse scroll events.

FIG. 5 illustrates controls 521 and 522 for scrolling and resizing thedetail timescale 520 and controls 531 and 532 for scrolling and resizingitem region 530 according to an embodiment 500 of the invention. Thisembodiment provides a user visual clues of being scrollable by showinghorizontal scroll controls 521 and 522, and vertical scroll controls 531and 532. It provides further visual clues that it is verticallyscrollable by partially showing display objects running vertically outof item region 530.

In this embodiment, a user may, for example, trigger a detail timescale520 scroll event by tapping or clicking left scroll button 521 todisplay events starting and ending at earlier dates, or by tapping orclicking right scroll button 522 to display events starting and endingat later dates. A user could increase the detail timescale 520 bytapping both buttons 521 and 522 simultaneously. Scrolling and/orresizing of the detail timescale will result in scrolling and/orresizing of the associated item region(s) in unison, in this case ofboth item regions 530 and 540.

In embodiment 500, item region 530 may be scrolled vertically, andindependent of or in unison with item region 540, in response to tap orclick events on vertical scroll buttons 531 and 532. Item region 530 maybe vertically expanded by simultaneously tapping scroll buttons 531 and532. This results in lowering the position of the detail timescale anddecreasing the vertical size of item region 540 and/or the overviewpanel. The embodiment may compress item region 530 in response to theuser performing a similar expansion input on item region 540.

Embodiments using a touchscreen display may omit buttons 521, 522, 531,and 532 and respond to touchscreen input gestures, such as user swipeevents on the detail timescale 520 or in the item regions 530 and 540 tomove its start and end dates, and user pinch events and user spreadevents to compress or expand the detail timescale 520. Embodiments maysimultaneously respond to events impacting scroll and resizing of thedetail timescale 520. For instance, in response to a left-pinch event(right finger stationary while left finger moves closer), an embodimentmay keep the end date unchanged while compressing the detail timescale520, resulting in an earlier shown start date. In general, any userinput triggering a scroll and/or resize in the direction of time,whether performed on timescale 520, item region 530, or item region 540,may result in scrolling and/or resizing of each timescale 520 and itemregions 530 and 540 in unison.

Further embodiments of the invention may respond similarly on user inputevents occurring at the overview panel and at the lens. Scrolling andresizing performed on the lens may result in simultaneous changes in theitem regions and detail timescale, whereas scrolling and resizing of theoverview panel outside of the lens may impact the overview panelindependent of the lens, item regions, and detail timescale.

FIG. 6 illustrates a vertical view 600 of a timeline visualizationaccording to an embodiment of the invention. This example verticalvisualization includes detail timescale 620, first item region 630,second item region 640, overview panel 650 and lens 660. The embodimentmay show this visualization in response to a user changing theorientation of a mobile device from horizontal (landscape) to vertical(portrait mode). This vertical visualization offers a user a differentlevel of detail than a horizontal visualization. Hence, a user maycontrol the amount of detail shown by simply changing the orientation ofthe mobile device rather than using various zoom or resize methods.Alternatively or additionally, embodiments of the invention could showthis view as the result of a user preference setting, a device setting,a system setting, or a file or database setting.

In this example embodiment, first item region 630 includes displayobjects 632 and 633 each representing a milestone, and a display object634 representing 5 stacked data items, at least one of which (“HolidaySeason”) represents an activity, having a duration greater than zero.Similarly, second item region 640 includes display object 644 foranother activity.

Further in this example embodiment, FIG. 6 shows an overview panel 650with markers that represent only collapsed data items of a firstdataset, linked with the first item region. It hides data items of asecond dataset, linked with the second item region. In response tomodified settings, or user input, the embodiment may expand collapsedoverlapping activities and events in the overview panel, and/or it mayshow markers related to both datasets.

FIG. 7 illustrates a method 700 for generating a timeline visualizationfor comparing two datasets of chronologically ordered data according toan embodiment of the invention. The method comprises the followingsteps.

Step 710—retrieving first and second datasets from a data storagesystem, wherein the first dataset includes at least a first data itemassociated with a first time value and a first duration value and thesecond data set includes at least a second data item associated with asecond time value.

Step 720—generating for display a detail timescale including at leastthe first time value.

Step 730—generating for display a first item region, wherein the firstitem region is aligned with the detail timescale; and generating fordisplay a second item region, wherein the second item region is alignedwith the detail timescale.

Step 740—generating for display in the first item region a first displayobject corresponding with the first data item, wherein a first displayobject position with respect to the detail timescale is based on thefirst time value and wherein the first display object has a size basedon the first duration value; and generating for display in the seconditem region a second display object corresponding with the second dataitem, wherein a second display object position with respect to thedetail timescale is based on the second time value.

Step 750—forwarding to a user device adapted to display the timelinevisualization: the detail timescale, the first and second item regions,and the first and second display objects.

Step 760—on the user device, displaying at least partially each: thedetail timescale, the first and second item regions, and the first andsecond display objects.

FIG. 8 illustrates an example system 800 suitable for implementingembodiments of the invention. Embodiments of the invention may beimplemented as standalone applications or as web-based applicationsimplemented using a combination of client-side and server-side code. Thesystem includes user devices 860-890 including desktop computers 860,portable personal computers 870, smartphones 880, mobile phones 885, andtablets 890. The system can interface with multiple types of userdevices, such as a thin-client computer, Internet-enabled mobiletelephone, tablet, electronic book reader, mobile Internet accessdevice, or personal digital assistant, capable of displaying andnavigating web pages or other types of electronic documents and/orexecuting applications. Although the system 800 is shown with five userdevices, any number of user devices can be supported.

A web server 810 is used to process requests from web browsers andstandalone applications for web pages, electronic documents, enterprisedata or other content, and other data from the user computers. Theserver may also provide push data or syndicated content, such as RSSfeeds, of data related to enterprise operations.

Application server 820 operates one or more applications. Theapplications can be implemented as one or more scripts or programswritten in any programming language, such as Java, C, C++, C#, or anyscripting language, such as JavaScript or ECMAScript, Perl, PHP, Python,Ruby, or TCL. Applications can be built using libraries or applicationframeworks, such as Rails, Enterprise JavaBeans, or .NET. Web contentcan be created using HTML, CSS, and other web technology, includingtemplate languages and parsers.

The data applications on application server 820 process input data anduser device requests and can store or retrieve data from a database ondata storage device 830. Data storage device 830 stores data created andused by the data applications. In an embodiment, the data storage device830 includes a relational database that is adapted to store, update, andretrieve data in response to SQL format commands or other database querylanguages. In other embodiments, unstructured data storage architecturesand NoSQL databases may also be used.

In an embodiment, the application server 810 includes a computer capableof executing programs or scripts. In an embodiment, the web server 810is implemented as an application running on a computer capable ofexecuting programs or scripts. The web server and application server maybe combined and executed on the same computers.

An electronic communication network enables communication between usercomputers 860-890, web server 810, application server 820, and datastorage device 830. In an embodiment, the network may include any formof electrical or optical communication devices, including wireless 850and wired 840 networks. Network 840/850 may also incorporate one or morelocal-area networks, such as an Ethernet network; wide-area networks,such as the Internet and cellular carrier data networks; and virtualnetworks, such as a virtual private network.

The system is one example for executing applications according to anembodiment of the invention. In another embodiment, application server,web server, and optionally database can be combined into a single servercomputer application and system. In a further embodiment, virtualizationand virtual machine applications may be used to implement one or more ofthe application server, web server, and database. In still furtherembodiments, all or a portion of the web server and applicationfunctions may be integrated into an application running on each of theuser computers. For example, a JavaScript application on the usercomputer may be used to retrieve or analyze data and display portions ofthe applications.

Although the description has been described with respect to particularembodiments thereof, these particular embodiments are merelyillustrative, and not restrictive. For instance, a system generating thedual timeline visualization may be as small a single user device thatincludes a data storage device, a processor, and a display. A tangiblecomputer readable medium that stores an embodiment of the method forgenerating a dual timeline visualization may be as small as a localread-only memory (ROM) or random-access memory (RAM) in a user device.

Any suitable programming language can be used to implement the routinesof particular embodiments including C, C++, Java, assembly language,etc. Different programming techniques can be employed such as proceduralor object oriented. The routines can execute on a single processingdevice or multiple processors. Although the steps, operations, orcomputations may be presented in a specific order, this order may bechanged in different particular embodiments. In some particularembodiments, multiple steps shown as sequential in this specificationcan be performed at the same time.

Particular embodiments may be implemented in a computer-readable storagemedium for use by or in connection with the instruction executionsystem, apparatus, system, or device. Particular embodiments can beimplemented in the form of control logic in software or hardware or acombination of both. The control logic, when executed by one or moreprocessors, may be operable to perform that which is described inparticular embodiments. For example, a tangible medium such as ahardware storage device can be used to store the control logic, whichcan include executable instructions.

Particular embodiments may be implemented by using a programmed generalpurpose digital computer, by using application specific integratedcircuits, programmable logic devices, field programmable gate arrays,optical, chemical, biological, quantum or nano-engineered systems,components and mechanisms may be used. In general, the functions ofparticular embodiments can be achieved by any means as is known in theart. Distributed, networked systems, components, and/or circuits can beused. Communication, or transfer, of data may be wired, wireless, or byany other means.

It will also be appreciated that one or more of the elements depicted inthe drawings/figures can also be implemented in a more separated orintegrated manner, or even removed or rendered as inoperable in certaincases, as is useful in accordance with a particular application. It isalso within the spirit and scope to implement a program or code that canbe stored in a machine-readable medium to permit a computer to performany of the methods described above.

A “processor” includes any suitable hardware and/or software system,mechanism or component that processes data, signals or otherinformation. A processor can include a system with a general-purposecentral processing unit, multiple processing units, dedicated circuitryfor achieving functionality, or other systems. Processing need not belimited to a geographic location, or have temporal limitations. Forexample, a processor can perform its functions in “real time,”“offline,” in a “batch mode,” etc. Portions of processing can beperformed at different times and at different locations, by different(or the same) processing systems. A computer may be any processor incommunication with a memory. The memory may be any suitableprocessor-readable storage medium, such as random-access memory (RAM),read-only memory (ROM), magnetic or optical disk, or other tangiblemedia suitable for storing instructions for execution by the processor.

As used in the description herein and throughout the claims that follow,“a”, “an”, and “the” includes plural references unless the contextclearly dictates otherwise. Also, as used in the description herein andthroughout the claims that follow, the meaning of “in” includes “in” and“on” unless the context clearly dictates otherwise.

Thus, while particular embodiments have been described herein, latitudesof modification, various changes, and substitutions are intended in theforegoing disclosures, and it will be appreciated that in some instancessome features of particular embodiments will be employed without acorresponding use of other features without departing from the scope andspirit as set forth. Therefore, many modifications may be made to adapta particular situation or material to the essential scope and spirit.

We claim:
 1. A method of generating a timeline visualization forcomparing two datasets of chronologically ordered data, the methodcomprising: retrieving first and second datasets from a data storagesystem, wherein the first dataset includes at least a first data itemassociated with a first time value and a first duration value and thesecond dataset includes at least a second data item associated with asecond time value; generating for display a detail timescale includingat least the first time value, wherein the detail timescale displaystime units in a first direction; generating for display a first itemregion, wherein the first item region is aligned with the detailtimescale; generating for display a second item region, wherein thesecond item region is aligned with the detail timescale; generating fordisplay in the first item region a first display object correspondingwith the first data item, wherein the first display object includes afirst display object position with respect to the detail timescale basedon the first time value and a size based on the first duration value;generating for display in the second item region a second display objectcorresponding with the second data item, wherein the second displayobject includes a second display object position with respect to thedetail timescale based on the second time value; and forwarding thedetail timescale, the first and second item regions, and the first andsecond display objects to a user device adapted to display the timelinevisualization.
 2. The method of claim 1, wherein the first and seconditem regions and the detail timescale are responsive to a user scrollinput in the first direction, such that the first and second itemregions and the details timescale scroll in unison in the firstdirection.
 3. The method of claim 1, wherein the first and second itemregions and the detail timescale are responsive to a user resize inputin the first direction, such that the first and second item regions andthe details timescale resize in unison in the first direction.
 4. Themethod of claim 1, wherein the detail timescale is orientedhorizontally.
 5. The method of claim 1, wherein the detail timescale isoriented vertically.
 6. The method of claim 1, wherein the first itemregion is responsive to a user scroll input in a second direction, notaligned with the detail timescale, such that the first item regionscrolls in the second direction.
 7. The method of claim 6, wherein thesecond item region is not responsive to the user scroll input in thesecond direction.
 8. The method of claim 6, wherein the user scrollinput in the second direction includes a selection of a user interfacecontrol associated with the first item region.
 9. The method of claim 6,wherein the user scroll input in the second direction includes atouchscreen input gesture inside the first item region.
 10. The methodof claim 1, wherein the first display object includes a first color andthe second display object includes a second color.
 11. The method ofclaim 10, wherein the first display object is responsive to a userchange color input, such that the first color can be set by the user.12. The method of claim 10, wherein the first color is based oninformation included in the first dataset and the second color is basedon information included in the second dataset.
 13. The method of claim1, further comprising: generating for display an overview panel,including an overview timescale different than the detail timescale;generating for display on the overview panel first and second markerscorresponding with the first and second data items, wherein: a firstmarker position with respect to the overview timescale is based on thefirst time value; a first marker size is based on the first durationvalue; a second marker position with respect to the overview timescaleis based on the second time value; including the first and secondmarkers in the overview panel; highlighting a portion of the overviewpanel whose duration matches a duration of the detail timescale; andforwarding the overview panel to the user device.
 14. The method ofclaim 13, wherein the overview panel is responsive to a userscroll/resize input in the first direction, such that the overview panelis scrolled/resized in the first direction independently of the detailtimescale and the first and second item regions.
 15. The method of claim1, further comprising: retrieving a third dataset from the storagesystem, wherein the third dataset includes at least a third data itemassociated with a third time value and a third duration value at leastpartially overlapping with the first time value and the first durationvalue; and wherein: the first display object corresponds with both thefirst and the third data item; and the first display object includes avisual indicator to show that it represents multiple data items.
 16. Themethod of claim 15, further comprising: receiving a user input unstackcommand to unstack the multiple data items represented by the firstdisplay object; in response to receiving the user input unstack command:reducing a contrast of the at least partially displayed detailtimescale, first and second item regions, and first and second displayobjects; generating individual display objects corresponding to at leastpart of the multiple data items; forwarding the individual displayobjects to the user device; and displaying the individual displayobjects.
 17. The method of claim 1, wherein the user device excludes thedata storage system.
 18. The method of claim 1, wherein the user deviceincludes the data storage system.
 19. A system for generating a timelinevisualization for comparing two datasets of chronologically ordereddata, comprising: an application server coupled with a data storagedevice and adapted to receive requests from a user device via at leastone network, wherein the application server is programmed to perform amethod comprising: retrieving first and second datasets from a datastorage system, wherein the first dataset includes at least a first dataitem associated with a first time value and a first duration value andthe second dataset includes at least a second data item associated witha second time value; generating for display a detail timescale includingat least the first time value, wherein the detail timescale displaystime units in a first direction; generating for display a first itemregion, wherein the first item region is aligned with the detailtimescale; generating for display a second item region, wherein thesecond item region is aligned with the detail timescale; generating fordisplay in the first item region a first display object correspondingwith the first data item, wherein the first display object includes afirst display object position with respect to the detail timescale basedon the first time value and a size based on the first duration value;generating for display in the second item region a second display objectcorresponding with the second data item, wherein the second displayobject includes a second display object position with respect to thedetail timescale based on the second time value; and forwarding thedetail timescale, the first and second item regions, and the first andsecond display objects to a user device adapted to display the timelinevisualization.
 20. A tangible, computer-readable information storagemedium including instructions adapted to direct a processor to perform aseries of operations, the operations comprising: retrieving first andsecond datasets from a data storage system, wherein the first datasetincludes at least a first data item associated with a first time valueand a first duration value and the second dataset includes at least asecond data item associated with a second time value; generating fordisplay a detail timescale including at least the first time value,wherein the detail timescale displays time units in a first direction;generating for display a first item region, wherein the first itemregion is aligned with the detail timescale; generating for display asecond item region, wherein the second item region is aligned with thedetail timescale; generating for display in the first item region afirst display object corresponding with the first data item, wherein thefirst display object includes a first display object position withrespect to the detail timescale based on the first time value and a sizebased on the first duration value; generating for display in the seconditem region a second display object corresponding with the second dataitem, wherein the second display object includes a second display objectposition with respect to the detail timescale based on the second timevalue; and forwarding the detail timescale, the first and second itemregions, and the first and second display objects to a user deviceadapted to display a timeline visualization.